const gulp = require('gulp')
const pug = require('gulp-pug')
const stylus = require('gulp-stylus')
const connect = require('gulp-connect')
const autoprefixer=require('gulp-autoprefixer')
const babel = require('gulp-babel')
const opn= require('opn')

gulp.task('build:lib',function(){
  gulp.src([
    'node_modules/jquery/dist/jquery.min.js',
    'src/style/animate.min.css'
  ]).pipe(gulp.dest('dist/lib'))
})
gulp.task('build:font',function(){
  gulp.src(['src/font/PingFang.ttf'])
    .pipe(gulp.dest('dist//lib/font'))
})
gulp.task('build:html',function(){
  gulp.src(['src/html/*.pug'])
    .pipe(pug({pretty:true}))
    .pipe(gulp.dest('dist'))
    .pipe(connect.reload())
})

gulp.task('build:image',function(){
  gulp.src(['src/image/**/*'])
    .pipe(gulp.dest('dist/image'))
    .pipe(connect.reload())
})

gulp.task('build:style',function(){
  gulp.src(['src/style/*.styl'])
    .pipe(stylus())
    .pipe(autoprefixer())
    .pipe(gulp.dest('dist/style'))
    .pipe(connect.reload())
})

gulp.task('build:script',function(){
  gulp.src(['src/script/*.js'])
    .pipe(gulp.dest('dist/script'))
    .pipe(connect.reload())
})

gulp.task('watch',function(){
  gulp.watch('src/html/**',['build:html'])
  gulp.watch('src/image/**',['build:image'])
  gulp.watch('src/style/**',['build:style'])
  gulp.watch('src/script/**',['build:script'])
})

gulp.task('build',[
  'build:font',
  'build:html',
  'build:lib',
  'build:image',
  'build:style',
  'build:script'
])
gulp.task('connect',function(){
  connect.server({
    root:'dist',
    port:2012,
    livereload:true
  })
  opn('http://localhost:2012/index.html')
})

gulp.task('dev',['build','connect','watch'])